e593e5
@@ -4,6 +4,8 @@
import java.util.ArrayList;
 import java.util.HashSet;
 import java.util.List;
 import java.util.Set;
+import java.util.logging.Level;
+import java.util.logging.Logger;
 
 import org.apache.commons.lang3.Validate;
 import org.springframework.roo.classpath.PhysicalTypeCategory;
@@ -44,6 +46,9 @@
import com.github.antlrjavaparser.api.type.ClassOrInterfaceType;
 public class JavaParserClassOrInterfaceTypeDetailsBuilder implements
         Builder<ClassOrInterfaceTypeDetails> {
 
+  private static final Logger LOGGER = Logger
+      .getLogger(JavaParserClassOrInterfaceTypeDetailsBuilder.class.getName());
+
     static final String UNSUPPORTED_MESSAGE_PREFIX = "Only enum, class and interface files are supported";
 
     /**
@@ -177,9 +182,10 @@
public class JavaParserClassOrInterfaceTypeDetailsBuilder implements
         }
 
         // Verify the package declaration appears to be correct
-        Validate.isTrue(compilationUnitPackage.equals(name.getPackage()),
-                "Compilation unit package '%s' unexpected for type '%s'",
-                compilationUnitPackage, name.getPackage());
+        if(compilationUnitPackage.equals(name.getPackage()) != true) {
+          String warningStr = "[Warning] Compilation unit package '" + compilationUnitPackage + "' unexpected for type '" + name.getPackage() + "', it may be a nested class.";
+          LOGGER.log(Level.WARNING, warningStr);
+        }
 
         for (final ImportDeclaration importDeclaration : imports) {
             if (importDeclaration.getName() instanceof QualifiedNameExpr) {
